Padrões para nomenclatura de objetos Oracle

Esse artigo padroniza a definição de objetos Oracle na KM&M Engenharia de Sistemas. O objetivo é facilitar a programação e manutenção dos sistemas existentes.

Nomenclatura dos Objetos

Segue abaixo os padrões que foram adotados para a nomenclatura da DDL e PL/SQL do Oracle pela KM&M.

1.       Toda tabela deve ter um alias de no máximo 5 caracteres.

2.       Chave Primária: pkc_alias

3.       Check Constraint: cc_alias_indice

4.       Foreign Key: fkc_alias(origem)_alias(destino)[_indice]

5.       Unique: ukc_alias_indice

6.       Trigger: tr_alias_*string*_indice

*String*

Posição 1 ? B (Before) ou A (After)

Posição 2[,3,4] ? I(Insert)  e/ou U(Update) e/ou D(Delete)

Última Posição ? R(each rows) ou S(Statement)

Exemplo : trigger de before para insert, update ou delete para cada linha de uma tabela com alias igual a "cc" ficaria "tr_cc_biudr_00".

Quando se tratar de uma trigger para controle de tabela mutante o índice permanecerá o mesmo, para as triggers envolvidas.

7.       Nomenclatura de procedimentos, funções e packages.

procedures - PRC_

Functions - FNC_

packages - PKG_

Procedures e functions públicas ou privadas dos packages seguem a mesma nomenclatura.

8.       Índices: idx_alias_indice

9.       Sequences: sqe_[_nome_campo]

O nome do campo deve ser incluído quando se tem mais que um campo na tabela que utiliza seqüência automática.

10.   Estruturas de Dados (vetores, registros e cursores):

PL/SQL Record: trg_

PL/SQL Cursor: cur_

Colletion Types (PL/SQL Table): tc_

Objects Type: to_

11.   Variáveis:

Procedures/Functions (Internas): v_

Variáveis de packages (Públicas): vp_

Variáveis de packages (Private): vr_

12.   Parâmetros de functions e procedures: p_

Exemplo:

  fnc_teste(p_teste_numerico number) as

  begin

    ....

  end;

13.   Views: v$

14.   Views Materializadasmv$

15.   Object Views: ov$

16.   Grupos de renovação: grp*tipo do grupo*_*schema*_*atributo*_*indice*

Sendo que:

*tipo do grupo* deve ser "M" para grupos mestres ou "R" para grupos remotos

*schema* deve ser o nome do schema onde encontra-se a view materializada

*atributo* deve "RO" para somente leitura (read-only) ou "RW" para leitura e gravacao (read-write)

*indice* deve ser uma sequencia numerica iniciada em "00" e incrementada de um em um.

Exemplos:

grpm_kss_ro_00 indica o grupo mestre do schema kss sendo somente para leitura.